Hierarchical Clustering

Row

Single linkage

Average linkage

Row

Complete linkage

Heatmap of feature values

Classification

Precision and Recall per Class
class precision recall
AI 0.65 0.65
Non-AI 0.59 0.59

Random forest

# A tibble: 2 × 3
  class  precision recall
  <fct>      <dbl>  <dbl>
1 AI         0.686  0.714
2 Non-AI     0.641  0.610

Signal novelty function




We observe the highest novelty peaks around 10 seconds, 110 seconds, and 160 seconds, which likely indicate structural changes in the song.

Around 10 seconds, we hear a noticeable stop in the music, aligning with the early peak in the graph. At approximately 115 seconds, the volume increases significantly, reflected by a sharp rise in energy novelty. Around 165 seconds, the volume diminishes, matching the final large peak before a drop in novelty. This suggests, that the signal function is probably accurate and captures the transitions in the music well. It was expected that the signal novelty function would work well, because the song has some dramtic changes.

Spectral novelty function




The spectral novelty function graph is significant less clear than the energy novelty function graph. Here we see no prominent cycles, but we can slightly see peeks at 10 seconds and 160 seconds, which we also saw (but more clear) in the energy novel function. However an additonal peak can be observed at the end of the track, which is also hearable in the song, at the end the song slows down and the volume weakens. We see no clear repeating patterns in the song.

Non-cyclyc tempogram




We observe three distinct lines around 160 BPM, 360 BPM, and 500 BPM. However I think 160 BPM is very fast for this song, because it sounds like an emotional piano piece # cyclic tempogram




The cyclic tempogram seems more representative we see a prominent line at 80 BPM, which is suitable for a moderate tempo emotional piano piece.

Keygram visualisation




In the keygram graph, we can notice the most intense color values, especially between 0-100 seconds, around C major and G major. Additionally, E minor appears relatively stable, with less variation in color intensity, with fewer yellow and greenish hues. This is interesting because, according to the Circle of Fifths, E minor is the relative minor of G major. B and E major, and G and C minor are also noticeable.

Chordogram visualisation




In the choreography visualization we can see very intense values throughout the whole track for E minor, also noticeable is C major. In the first few second of the track we van see darker hues of B minor, G major and a bit of B major. Additionally at the ned of the track we see now light hues, and darker blocks from E major to A:7 and E minor to A minor.

Chroma visualisation

Intorduction

On this page I am going to compare my two songs to my class corpus. I am unfortunately not a musician, so I decided to generate a song and choose a royalty free song.

Song 1: I generated this song by using Soundful’s free AI music generator. First I had to choose genre, I chose pop rock. Then I had to decide for the speed/BPM. I decided 121 BPM. For chords and scales, I selected F# minor. I wanted to select two different songs, so for this song I chose a somewhat faster and energetic song.

Song 2: I picked this song from the site from Pixabay. Because I had the idea to selected two different songs, I wanted a ‘slower’ song with more calm vibes, opposed to the faster rock song. However towards the end of the song there is a fragment that sound heroic and cinematic, which I find to be an interesting component in this song. Also, I wanted to have a human created song, so I can maybe analyse if there are differences between the AI generated song (I filtered the songs on this site to be strictly human generated). Song: Sweet Dreams by: Lexin_Music.

first visualisation




This is a informative plot, that calculates the correlation between each parameter pair. This is useful for further research and plots.

Second visualisation




As a result of the correlation matrix, I thought it was a good idea to improve the visualisation from class, by first implementing it on the class data instead, and use three parameters that are highly (positive) correlated. I unfortunatly do not have the parameters of my own songs yet, otherwise I would have put my songs in this plot, to show the relationship between my songs and the songs of the class.